home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source2.lha / source / amiga / Layers.mod next >
Encoding:
Text File  |  1995-01-26  |  5.5 KB  |  206 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: Layers.mod $
  4.   Description: Interface to layers.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   $VER: layers_protos.h 38.7 (26.3.92)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  24. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  25. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  26.  
  27. MODULE [2] Layers;
  28.  
  29. IMPORT
  30.   SYS := SYSTEM, Kernel, u := Utility, e := Exec, gfx := Graphics,
  31.   s := Sets;
  32.  
  33.  
  34. (*-- Library Base variable --------------------------------------------*)
  35.  
  36. CONST
  37.  
  38.   layersName * = "layers.library";
  39.  
  40. VAR
  41.  
  42.   base * : e.LibraryPtr;
  43.  
  44.  
  45. (*-- Library Functions ------------------------------------------------*)
  46.  
  47. TYPE
  48.   LONGBOOL * = e.LONGBOOL;
  49.  
  50. CONST
  51.   LTRUE * = e.LTRUE;
  52.   LFALSE * = e.LFALSE;
  53.  
  54.  
  55. PROCEDURE InitLayers* [base,-30] (* ** OBSOLETE ** *)
  56.   ( li [8] : gfx.LayerInfoPtr );
  57. PROCEDURE CreateUpfrontLayer* [base,-36]
  58.   ( li     [8] : gfx.LayerInfoPtr;
  59.     bm     [9] : gfx.BitMapPtr;
  60.     x0     [0] : LONGINT;
  61.     y0     [1] : LONGINT;
  62.     x1     [2] : LONGINT;
  63.     y1     [3] : LONGINT;
  64.     flags  [4] : s.SET16;
  65.     bm2   [10] : gfx.BitMapPtr )
  66.   : gfx.LayerPtr;
  67. PROCEDURE CreateBehindLayer* [base,-42]
  68.   ( li     [8] : gfx.LayerInfoPtr;
  69.     bm     [9] : gfx.BitMapPtr;
  70.     x0     [0] : LONGINT;
  71.     y0     [1] : LONGINT;
  72.     x1     [2] : LONGINT;
  73.     y1     [3] : LONGINT;
  74.     flags  [4] : s.SET16;
  75.     bm2   [10] : gfx.BitMapPtr )
  76.   : gfx.LayerPtr;
  77. PROCEDURE UpfrontLayer* [base,-48]
  78.   ( layer [9] : gfx.LayerPtr )
  79.   : BOOLEAN;
  80. PROCEDURE BehindLayer* [base,-54]
  81.   ( layer [9] : gfx.LayerPtr )
  82.   : BOOLEAN;
  83. PROCEDURE MoveLayer* [base,-60]
  84.   ( layer [9] : gfx.LayerPtr;
  85.     dx    [0] : LONGINT;
  86.     dy    [1] : LONGINT )
  87.   : BOOLEAN;
  88. PROCEDURE SizeLayer* [base,-66]
  89.   ( layer [9] : gfx.LayerPtr;
  90.     dx    [0] : LONGINT;
  91.     dy    [1] : LONGINT )
  92.   : BOOLEAN;
  93. PROCEDURE ScrollLayer* [base,-72]
  94.   ( layer [9] : gfx.LayerPtr;
  95.     dx    [0] : LONGINT;
  96.     dy    [1] : LONGINT );
  97. PROCEDURE BeginUpdate* [base,-78]
  98.   ( l [8] : gfx.LayerPtr )
  99.   : BOOLEAN;
  100. PROCEDURE EndUpdate* [base,-84]
  101.   ( layer [8] : gfx.LayerPtr;
  102.     flag  [0] : LONGBOOL );
  103. PROCEDURE DeleteLayer* [base,-90]
  104.   ( layer [9] : gfx.LayerPtr )
  105.   : BOOLEAN;
  106. PROCEDURE LockLayer* [base,-96]
  107.   ( layer [9] : gfx.LayerPtr );
  108. PROCEDURE UnlockLayer* [base,-102]
  109.   ( layer [8] : gfx.LayerPtr );
  110. PROCEDURE LockLayers* [base,-108]
  111.   ( li [8] : gfx.LayerInfoPtr );
  112. PROCEDURE UnlockLayers* [base,-114]
  113.   ( li [8] : gfx.LayerInfoPtr );
  114. PROCEDURE LockLayerInfo* [base,-120]
  115.   ( li [8] : gfx.LayerInfoPtr );
  116. PROCEDURE SwapBitsRastPortClipRect* [base,-126]
  117.   ( rp     [8] : gfx.RastPortPtr;
  118.     VAR cr [9] : gfx.ClipRect );
  119. PROCEDURE WhichLayer* [base,-132]
  120.   ( li [8] : gfx.LayerInfoPtr;
  121.     x  [0] : LONGINT;
  122.     y  [1] : LONGINT )
  123.   : gfx.LayerPtr;
  124. PROCEDURE UnlockLayerInfo* [base,-138]
  125.   ( VAR li [8] : gfx.LayerInfo );
  126. PROCEDURE NewLayerInfo* [base,-144] ()
  127.   : gfx.LayerInfoPtr;
  128. PROCEDURE DisposeLayerInfo* [base,-150]
  129.   ( li [8] : gfx.LayerInfoPtr );
  130. PROCEDURE FattenLayerInfo* [base,-156] (* ** OBSOLETE ** *)
  131.   ( li [8] : gfx.LayerInfoPtr );
  132. PROCEDURE ThinLayerInfo* [base,-162] (* ** OBSOLETE ** *)
  133.   ( li [8] : gfx.LayerInfoPtr );
  134. PROCEDURE MoveLayerInFrontOf* [base,-168]
  135.   ( layertomove    [8] : gfx.LayerPtr;
  136.     VAR otherlayer [9] : gfx.LayerPtr )
  137.   : BOOLEAN;
  138. PROCEDURE InstallClipRegion* [base,-174]
  139.   ( layer  [8] : gfx.LayerPtr;
  140.     region [9] : gfx.RegionPtr )
  141.   : gfx.RegionPtr;
  142. PROCEDURE MoveSizeLayer* [base,-180]
  143.   ( layer [8] : gfx.LayerPtr;
  144.     dx    [0] : LONGINT;
  145.     dy    [1] : LONGINT;
  146.     dw    [2] : LONGINT;
  147.     dh    [3] : LONGINT )
  148.   : BOOLEAN;
  149. PROCEDURE CreateUpfrontHookLayer* [base,-186]
  150.   ( li    [8] : gfx.LayerInfoPtr;
  151.     bm    [9] : gfx.BitMapPtr;
  152.     x0    [0] : LONGINT;
  153.     y0    [1] : LONGINT;
  154.     x1    [2] : LONGINT;
  155.     y1    [3] : LONGINT;
  156.     flags [4] : s.SET16;
  157.     hook [11] : u.HookBasePtr;
  158.     bm2  [10] : gfx.BitMapPtr )
  159.   : gfx.LayerPtr;
  160. PROCEDURE CreateBehindHookLayer* [base,-192]
  161.   ( li    [8] : gfx.LayerInfoPtr;
  162.     bm    [9] : gfx.BitMapPtr;
  163.     x0    [0] : LONGINT;
  164.     y0    [1] : LONGINT;
  165.     x1    [2] : LONGINT;
  166.     y1    [3] : LONGINT;
  167.     flags [4] : s.SET16;
  168.     hook [11] : u.HookBasePtr;
  169.     bm2  [10] : gfx.BitMapPtr )
  170.   : gfx.LayerPtr;
  171. PROCEDURE InstallLayerHook* [base,-198]
  172.   ( layer [8] : gfx.LayerPtr;
  173.     hook  [9] : u.HookBasePtr )
  174.   : u.HookPtr;
  175.  
  176. (*--- functions in V39 or higher (Release 3) ---*)
  177.  
  178. PROCEDURE InstallLayerInfoHook* [base,-204]
  179.   ( li   [8] : gfx.LayerInfoPtr;
  180.     hook [9] : u.HookBasePtr )
  181.   : u.HookPtr;
  182. PROCEDURE SortLayerCR* [base,-210]
  183.   ( layer [8] : gfx.LayerPtr;
  184.     dx    [0] : LONGINT;
  185.     dy    [1] : LONGINT );
  186. PROCEDURE DoHookClipRects* [base,-216]
  187.   ( hook  [8] : u.HookBasePtr;
  188.     rport [9] : gfx.RastPortPtr;
  189.     rect [10] : gfx.RectanglePtr );
  190.  
  191. (*-- Library Base variable --------------------------------------------*)
  192.  
  193. <*$LongVars-*>
  194.  
  195. PROCEDURE* [0] Close (VAR rc : LONGINT);
  196.  
  197. BEGIN (* Close *)
  198.   IF base # NIL THEN e.CloseLibrary (base) END
  199. END Close;
  200.  
  201. BEGIN (* Layers *)
  202.   base := e.OpenLibrary (layersName, e.libraryMinimum);
  203.   IF base = NIL THEN HALT (100) END;
  204.   Kernel.SetCleanup (Close)
  205. END Layers.
  206.